<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="../0_assets/vue2.js"></script>
</head>

<body>
    <div id="app">
        <div class="box" >
            <h3 ref="title" @click="sayTitle">我是标题，下面是我儿子</h3>
            <button @click="findChild">点我触发我儿子身上的方法</button>
            <hr>
            <child ref="box2"/>
        </div>
    </div>

    <script>
        /*
            ref的作用主要有两个
                - 获取页面的dom元素
                - 获取子组件对象
        */
        let app = new Vue({
            el: '#app',
            data() {
                return {

                }
            },
            mounted() {
                console.log(this.$refs.box);
            },
            methods:{
                sayTitle(){
                    console.log(this.$refs.title.innerHTML);
                },
                findChild(){
                    console.log('通过父组件调用子组件的方法: ');
                    this.$refs.box2.sayChild();//当然，你也可以拿到子组件身上的一些数据和计算属性什么的
                }
            },
            components: {
                child: {
                    template: `<div class="box2" @click="sayChild">我是一个儿子</div>`,
                    methods: {
                        sayChild() {
                            console.log('嗨害嗨，我是儿子');
                        }
                    }
                },
            }
        })


    </script>
</body>

</html>